Adventure Pinball Editing Documentation

logo.jpg (96628 bytes)

Editor Documentation

Version 1
Created January 2001

Copyright 2001 Digital Extremes
All rights reserved.


Ball Basics

Level Design Basics

Geometry Rules:

  • The table must never have a flat surface parallel to the bottom of the screen. Put a slight tilt on everything so the ball will never come to a full stop.
  • Put a raised edge on both sides of all ramps so the ball will not fall off. The raised part should be at least the height of the ball.
  • The launch ramp should be raised off the ground so the ball cannot get back on it.
  • The launch ramp should not be sloped
  • Level boundaries should not be sloped. Make them perpendicular to the ground. If you need a sloped boundary, put a section that is perpendicular to the ground underneath it.

Ball Basics

Before you can start a level you need a few basic actors in place. Place a BallSpawn where you want new balls to appear. Below it place a PB_Plunger or PB_Plunger2. Where the ball will make contact with the plunger, place a PB_Charger. You will also want to make an invisible wall that the ball will rest on just above the plunger. The plunger moves backwards as you build up the charge and will return to the original location when released.

You will also need to place a PlayerStart actor somewhere that cannot be reached. It is a good idea to build a small room and place the PlayerStart in it. When the game is started, it will spawn a Player actor which receives input and controls the gameplay. There is only one player actor regardless of how many players you select in the game menus. Make sure the Player actor is sitting on the ground and not up in the sky.

Finally you need to place left and right flippers in different places. These are found in the PB_Misc category under Flipper. You can have as many flippers as you want in a level. Rotated flippers are not allowed.


Scoring

Bumper Scoring

Almost everything in Adventure Pinball will give you points. You can also increase the point value on some objects by using a TriggerScoreMultiplier. Each bumper has a base score, bonus score, and bonus multiplier. The total points awarded when you hit the bumper is (base score) + (bonus score * bonus multiplier). You can adjust the maximum bonus multiplier so the scores don't get too large. For example, if base score is 5000 and the bonus score is also 5000, you will get 5000, 10000, 15000, 20000, and so on as the multiplier increases.

To increase the bonus multiplier on a set of objects, create a TriggerScoreMultiplier actor. Make up an event name on all of the objects and put the same tag in the TriggerScoreMultiplier. In the properties, enter the names of all the objects in the ObjectList. If you set bRandom to false, you will have to hit the objects in the order you list them before the multiplier is increased, otherwise you can hit them in any order. You can also set the message and sound played when all the objects have been hit. When this happens the bonus multiplier for all the objects will be increased by 1, unless they are already at the maximum bonus multiplier value.

Ramp Scoring

You can award points when the ball completes a ramp. To do this you need 3 RampTriggers and 1 TriggerRampScore actor. Place RampTriggers at the start, middle, and end of the ramp. The TriggerRampScore can be placed anywhere. The RampTriggers send an event to the TriggerRampScore when they are touched by the ball, so put the same event name in all 3 RampTriggers, and that tag in the TriggerRampScore. In the TriggerRampScore properties must enter the object names of the RampTriggers in the End1, End2, and Middle properties. The order of the ends does not matter. You can also display a message and play a sound effect. There are places you can enter up to 3 sounds. Each time you go over the ramp it will play the next sound. After playing all three it resets back to the first sound. Don't forget to enter the scoring in the GameObject properties of the TriggerRampScore.


Events and Triggers

The game uses the trigger/event features found in the Unreal Engine. When you hit a bumper (or other object) it sends out an event to the other actors. If the tag value of an actor matches the Event name of the one sending the event, the actor is triggered. Depending on the actor triggering causes different things to happen, such as toggling an active flag, raising your score, giving a free ball, etc. In the editor you can tell if two actors are related by events if there is a red line connecting them.


Ball Modes

The ball can change to different modes, such as a lava ball or tar bar. To control this, use the PB_SpecialMode. Put the number of the mode in the SpecialMode property, and set the TimeCount to how many seconds it lasts. You can also set the optional message that is shown.

Available Ball Modes:

0 - Normal Ball

1 - Lava ball

2 - Tar Ball

3 - Water ball

4 - Turbo Ball

5 - 2X Power Up

6 - Orange Ball

7 - Apple Ball

8 - Invisiball

9 - 3X Power Up

10 - 5X Power Up

11 - Idol Eye Ball / Egg Ball


Camera Angles

Adventure Pinball is fully 3D and offers a variety of camera views. Using these effectively can really spice up your table.

Still Cameras
Still cameras are cameras that have a specific location and optional rotation. You can either specify an angle, or if you set the bAimAtBall property to True it will aim at the ball as it rolls past. To enable or disable a still camera, place PB_StillCamOn and PB_StillCamOff actors where the ball will touch them. You must make sure that the ball cannot leave an area with a still camera still activated. In the StillCamOn properties enter the object name of the still camera you want to activate.

Follow Cameras

If you want the camera to turn into a first person view of the ball, use PB_FollowOn and PB_FollowOff. This will hide the ball and place the camera at the ball's location and direction.

Zoomer

This will zoom the camera in towards the ball, or a specific location on the table. Zooming is disabled during multiball play.

bZoomPosition property controls if the camera will zoom towards the given location, or towards the ball.

ZoomVector property has different purposes depending on bZoomPosition. If bZoomPosition is true, this contains the location you want the camera to zoom towards. If bZoomPosition is false this contains a vector distance relative from the ball.

ZoomAngle property is the angle the camera should be when the camera is fully zoomed.

ZoomTime property is the total time of the zoom effect.

ZoomSpeed property is the total time of the zoom. It should be a fraction like 0.4.

The algorithm works as follows:

The zoom factor starts at 0 and increases by ZoomSpeed until it reaches 1. The camera will remain zoomed in for a period until it is time to zoom out.

For example, if ZoomSpeed is 0.5 then is takes half a second to zoom in. If ZoomTime is 2, then it will zoom in for half a seecond, wait 1 second, then zoom out for half a second.

Camera Intros

This is used to make an intro sequence for the table. It has a list of still cameras that will be shown in sequence unless intererrupted.


Sinkholes

A sinkhole grabs the ball for a while and then spits it back out in a direction.

ImpactSound will play when the sinkhole is hit.

ReleaseSound will play when the ball is released.

MaxCountDown property (1) is the time the ball will be held.

KickSpeed property (2000) is the speed of the ball when released. Rotate the sinkhole actor to aim the release direction.

PB_CreatureSinkhole is a special sinkhole that tells a creature to come over and take the ball out of it.

SignalCreature property is the creature that will be signalled.

SignalNavPoint property is the nav point that the creature will go to. It doesn't have to be near the sinkhole or even related.

PB_SinkholeNoCreatures is a sinkhole that only works if all creaturs of a specific type are destroyed first.

bHitOnce property is true if you can only hit the sinkhole once.

KillCreatureType property is the type of creature that must be destroyed before the sinkhole will work.

SignalCreature property is the creature that will be signalled.

SignalNavPoint property is the navigation point the creature will go towards.


Teleporters

Teleporters carry the ball from one location to another instantly. To create a teleportation effect, place two teleporters. One is the source, and the other is the destination. In the source, set the Target property to the name of the destination. In the destination, set the IsTarget flag to true. Rotate the destination actor in the direction you want the ball to come out. The speed is detemined by KickSpeed property of the source.

If a teleporter is triggered, it toggles the active state.


Ball Storage

This will store up to 4 balls. If you lose a ball and one is in storage, a ball will be release from the storage.

HideBalls property (False) will make the balls hidden while they are stored.

ImpactSound plays when a ball enters storage.

KickSpeed property (1500) is the speed that the balls will be released.

MaxBallsHeld property (3) contains how many balls the storage can have.

ReleaseDirection property are the release direction vectors/velocity for each stored ball. This lets you scatter the balls.

ReleaseSound plays when a ball is released.

StoreLocations property are vector distances away from the ball storage actor where stored balls are held. This lets you put the stored balls in certain arrangement, such as a row, stacked, pyramid, etc.

TimePause property (2) is the amount of time that passes before the next ball is launched. This lets you focus the camera on the ball so the player can see what is going on.


Creatures

There are many types of creatures in Adventure Pinball. They follow specific paths and have very simple AI that can be controlled by the level designer. Most creatures are found in the PB_Bumper class because you can hit the ball off them like bumpers.

Creatures follow a specific set of navigation points, called PB_CreatureNavPoint. When reaching a nav point, they can perform an action such as picking up a ball, or play an animation.

PB_CreatureNavPoint properties:

Action property is the animation number to play when the creature reaches this location. Each creature has a different animation list, so see the Animation section of this document.

bDestroy property is true if you want the creature to be destroyed at this location.

bFreezeAnimation property is true if the creature is frozen while it moves to the next navigation point. This was used for moving the cavewoman on the raft.

bMove property is true if you want the creature to be teleported to a new location after reaching this location.

bSignalCreature property is true if another creature is signalled. For example a caveman reachs a certain spot, which signals a T-Rex to come in from the side.

Creature property is the name of the creature to signal.

MoveLocation property is the teleport destination.

Next property is the next navigation point in the sequence. You can point to itself if you want the creature to remain here (until signalled otherwise).

SignalNavPoint property is the navigation point the creature will be sent to.

bHitToNext tells the creature to wait here until hit.

bCanBeSignalled toggles the signal flag. If false the creature cannot be signalled until it reaches a nav point with this flag set to true.

bResetHits will reset the number of times you've hit the creature.


Snakes and Centipedes

PB_Worm (really a centipede) and PB_Snake are long creatures that get smaller each time you hit them. They follow nav points like regular creatures, and can climb up walls. Place the head actor where you want it to start, and can change the length of the creature in the properties.

There are also special triggers called PB_SnakeSpawn and PB_CentipedeSpawn that allow you to set the length when they are spawned.


Power Ups

Power Ups come in three categories: Good, Bad, and Points. Good power ups may help you accomplish goals. Bad power ups make it harder to play, and affect the scoring. Points power ups give extra points for collecting the item.

Power Ups last for 15 seconds before being destroyed. You can change how long it takes for a power up to return in the properties. Set the item number to one of the numbers listed below. If you make the item number 0, it will pick a random power up in the appropriate category.

Good Power Ups:

8 - Lava ball

9 - Water Ball

10 - Tar Ball

11 - Turbo Ball

12 - 2X Power Up

13 - 3X Power Up

14 - 5X Power Up

21 - Free Ball

22 - Multiball

Bad Power Ups:

17 - Dead ball (no points)

18 - Negative ball (negative points)

20 - Invisiball

Points Power Ups:

1 - Cherry (1,000,000 points)

2 - Banana (2,000,000 points)

3 - Strawberry (1,000,000 points)

4 - Coconut (25,000 points)

5 - Blue Gem (250,000 points)

6 - Green Gem (500,000 points)

7 - Red Gem (5,000,000 points)


Cave Woman Thrower

There is a cavewoman that picks up the ball and allows you to throw it in a specific direction. This is found under PB_SinkholeCannon->pb_CavewomanThrower.

Use the enter or space keys to throw the ball.


Gatherers

The cave people need food to eat, and you can help them. There is a coconut tree called nuttree, and a strawberry plant called PB_Strawberries. You also need to place huts where the gatherers will emerge from. These are PB_Hut->PB_Coconuthut, and PB_Hut->PB_Strawberryhut.

You must make sure there is a clear path between the food and the hut or else the gatherer won't know how to reach it.


Special Effects

These are found under BallEffects, and include things like fireworks, explosions, crystal shards and so on. Most are created by other objects but you could spawn them by events using PB_EffectSpawn.


Scenery

The PB_Scenery classes are just decorations and cannot be hit. Use these versions for objects that do not require collision detection.


Atmosphere Effects

There are many kinds of atmosphere effects such as snow, rain, steam, bubbles, and flames. Place the generator in your level and it will continuously create the effect.

There are also some that have triggers, and can be activated for a period of time when the ball hits the trigger actor.


Special Triggers

There are a few special triggers that you may find useful.

TriggerCreature will tell a creature to move to a different navigation point.

TriggerEarthquake will make the camera shake.

TriggerScore gives the player more points.


Spinners

Spinners are things that revolve from the ball rolling through them. You can get points for every time it spins 360 degrees, so the faster you hit the spinner the more points you get. There are both horizontal spinners and vertical spinners.

SpinFactor determines how fast it spins when hit by the ball. SpinDecay tells how fast the spinner slows down.


Guide Arrows

You can make arrows that point to the next goal by placing PB_Scenery->PBS_Pointer or PB_Scenery->PBS_EventPointer actors.

The event pointers are triggered on and off, and can be set to destroy after one trigger.


Appendix


Animation Lists

Cavewoman

Animation Number: | Comments
1 | Idle
2 | Wave
3 | Jump
4 | Flee
5 | Pickup
6 | Carry
7 | Throw

Caveworker

Animation Number: | Comments
1 | Idle / Tap Foot
2 | Look around
3 | Pick up ball
4 | Swing club
5 | Spin
6 | Backflip
7 | Fallback
8 | Fallen
9 | Get Up
10 | Jump
11 | Unseat
12 | Sit idle
13 | Sit Forward
14 | Sit Left
15 | Sit Right

Crab

Animation Number: | Comments
1 | Idle 1
2 | Idle 2

Inchworm

Animation Number: | Comments
1 | Idle
2 | Crawl

Monkey

Animation Number: | Comments
1 | Swing hand over hand
2 | Swing on vine
3 | Hit
4 | Mad

Piranha

Animation Number: | Comments
1 | Swim
2 | Idle

Pterodactyl

Animation Number: | Comments
1 | Resting
2 | Stretch
3 | Groom
4 | Landing
5 | Take Off
6 | Fly
7 | Drop ball while flying

Raptor

Animation Number: | Comments
1 | Idle
2 | Bite
3 | Left Turn
4 | Right Turn
5 | Idle 2
6 | Idle 3

Shark

Animation Number: | Comments
1 | Swim
2 | Hit

T-Rex

Animation Number: | Comments
1 | Right Turn
2 | Left Turn
3 | Roar
4 | Spit out ball
5 | Bite
6 | Pick up ball
7 | Shake ball

Waterbug

Animation Number: | Comments
1 | Idle
2 | Turn Left
3 | Turn Right
4 | Jump
5 | Jumping
6 | Land


Ball Mode List

0 - Normal Ball

1 - Lava ball

2 - Tar Ball

3 - Water ball

4 - Turbo Ball

5 - 2X Power Up

6 - Orange Ball

7 - Apple Ball

8 - Invisiball

9 - 3X Power Up

10 - 5X Power Up

11 - Idol Eye Ball / Egg Ball


Power Up List

Points Power Ups:

1 - Cherry (1,000,000 points)

2 - Banana (2,000,000 points)

3 - Strawberry (1,000,000 points)

4 - Coconut (25,000 points)

5 - Blue Gem (250,000 points)

6 - Green Gem (500,000 points)

7 - Red Gem (5,000,000 points)

Good Power Ups:

8 - Lava ball

9 - Water Ball

10 - Tar Ball

11 - Turbo Ball

12 - 2X Power Up

13 - 3X Power Up

14 - 5X Power Up

21 - Free Ball

22 - Multiball

Bad Power Ups:

17 - Dead ball (no points)

18 - Negative ball (negative points)

20 - Invisiball